﻿///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2023, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
#Область ОбработчикиСобытий

Процедура ПриЗаписи(Отказ, Замещение)

	Если ОбменДанными.Загрузка Тогда
		Возврат;
	КонецЕсли;

	Если Не ДополнительныеСвойства.Свойство("ИдентификаторНапоминания") Тогда
		Возврат;
	КонецЕсли;

	Если Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.НапоминанияПользователя") Тогда
		Возврат;
	КонецЕсли;
	
	МодульНапоминанияПользователя = ОбщегоНазначения.ОбщийМодуль("НапоминанияПользователя");
	Если Не МодульНапоминанияПользователя.ИспользуютсяНапоминанияПользователя() Тогда
		Возврат;
	КонецЕсли;
	
	ИдентификаторНапоминания = ДополнительныеСвойства.ИдентификаторНапоминания;

	Для Каждого Запись Из ЭтотОбъект Цикл
		
		Напоминания = МодульНапоминанияПользователя.НайтиНапоминания(Запись.Сертификат, ИдентификаторНапоминания);

		Для Каждого Напоминание Из Напоминания Цикл
			МодульНапоминанияПользователя.УдалитьНапоминание(Напоминание);
		КонецЦикла;

		Если Не Запись.Оповещен Тогда
			Если ИдентификаторНапоминания = "АвтоматическоеНапоминаниеОПродленииСертификата" Тогда

				ТекстНапоминания = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
					НСтр("ru='Требуется перевыпуск сертификата ""%1""'"), Запись.Сертификат);
				МодульНапоминанияПользователя.УстановитьНапоминание(
					ТекстНапоминания, "ДействителенДо", 30 * 24 * 60 * 60, Запись.Сертификат, ИдентификаторНапоминания);

			Иначе

				ТекстНапоминания = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
					НСтр("ru='""%1"": сертификат получен'"), Запись.Сертификат);
				МодульНапоминанияПользователя.УстановитьНапоминание(
					ТекстНапоминания, "ДатаПолученияСертификата", 0, Запись.Сертификат, ИдентификаторНапоминания);

			КонецЕсли;
		КонецЕсли;

	КонецЦикла;

КонецПроцедуры

#КонецОбласти
#Иначе
	ВызватьИсключение НСтр("ru = 'Недопустимый вызов объекта на клиенте.'");
#КонецЕсли